exports.Build = new Class(/** @lends CaboCity.def.build# */{
	Implements: require('./base.js').Base
	/**
	 * @class Objeto de definición de un build
	 * @constructs
	 * @implements CaboCity.def.Base
	 * 
	 * @borrows CaboCity.def.base#isGoodFormed as #isGoodFormed
	 * @borrows CaboCity.def.base#exports as #exports
	 * @borrows CaboCity.def.base#type as #type
	 * 
	 * @param {Integer} id Identificador entero de la definición.
	 * @param {String} name Identificador en forma de String de la definición.
	 * */
	,initialize: function(id, name){
		/**
		 * Identificador entero.
		 * @public
		 * @type Integer
		 * */
		this.id = id;
		
		/**
		 * Identificador en forma de string.
		 * @public
		 * @type String
		 * */
		this.name = name;
	}
	
	/**
	 * Establece la acción checkParams
	 * @param {CaboCity.def.Build#checkParams|CaboCity.basic.TrueFunc} [checkParams=CaboCity.basic.TrueFunc]
	 * @public
	 * 
	 * @returns this
	 * */
	,setCheckParams: function(checkParams){
		var api = require('cabocity.js').api;
		this.checkParams = checkParams | api.basic.TrueFunc;
		return this;
	}
	/**
	 * Establece la acción checkBuildPosibility
	 * @param {CaboCity.def.Build#checkBuildPosibility|CaboCity.basic.TrueFunc} [checkBuildPosibility=CaboCity.basic.TrueFunc]
	 * @public
	 * 
	 * @returns this
	 * */
	 ,setCheckBuildPosibility: function(checkBuildPosibility){
		var api = require('cabocity.js').api;
		this.checkBuildPosibility = checkBuildPosibility | api.basic.TrueFunc;
		return this;
	}
	/**
	 * Establece la acción build
	 * @param {CaboCity.def.Build#build} build
	 * @public
	 * 
	 * @returns this
	 * */
	,setBuild: function(build){
		this.build = build;
		return this;
	}
	/**
	 * Establece la acción notBuild
	 * @param {CaboCity.def.Build#notBuild} notBuild
	 * @public
	 * 
	 * @returns this
	 * */
	,setNotBuild: function(notBuild){
		this.notBuild = notBuild;
		return this;
	}

	,isGoodFormed: function(){
		//TODO
	}
	
	,exports: function(){}//TODO
	
	/**
	 * Check if the params are corrects.
	 * @name CaboCity.def.build#checkParams
	 * @function
	 * 
	 * @param {TODOcommandArguments} argm
	 * @return {Boolean}
	 * */
	/**
	 * Checks for game-client part.
	 * @name CaboCity.def.build#checkBuildPosibility
	 * @function
	 * 
	 * @param {TODOcommandArguments} argm
	 * @return {Boolean}
	 * */
	/**
	 * Execs when "checkBuildPosibility()" function return **true**.
	 * 	After build the build it'll be executed.
	 * @name CaboCity.def.build#build
	 * @function
	 * 
	 * @param {TODOcommandArguments} argm
	 * @return {Boolean}
	 * */
	/**
	 * Execs when "checkBuildPosibility()" function return **false**.
	 * @name CaboCity.def.build#notBuild
	 * @function
	 * 
	 * @param {TODOcommandArguments} argm
	 * @return {Boolean}
	 * */
});